package com.ruoyi.live.base.domain;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;

public class User implements Serializable {

    private static final long serialVersionUID = 1L;
    @TableId(
            value = "id",
            type = IdType.AUTO
    )
    private Long id;
    @TableField(value = "user_login_name", condition = SqlCondition.LIKE)
    private String userLoginName;
    private Long userLoginNameMd5;
    @TableField(value = "user_real_name", condition = SqlCondition.LIKE)
    private String userRealName;
    private Long userPasswordMd5;
    private Long userCreateUserId;
    private Long userCreateTime;
    private Integer userSex;
    private Integer userType;
    private String userMail;
    private String userCellphone;
    private Integer userState;
    private Long userLoginTime;
    private Long userSchool;
    private String userCollege;
    private String userProfessional;
    private String userDuty;
    private String openId;
    private String userHeaderImg;
    private Long classId;
    private Long importId;
    @TableField(
            exist = false
    )
    private String token;
    @TableField(
            exist = false
    )
    private String urlPath;
    @TableField(
            exist = false
    )
    private String password;
    @TableField(
            exist = false
    )
    private String expertClassName;
    private Integer recordWidth;
    private Integer recordHeight;
    private Integer recordBitRate;
    private Integer userExamState;


    public Long getId() {
        return this.id;
    }

    public String getUserLoginName() {
        return this.userLoginName;
    }

    public Long getUserLoginNameMd5() {
        return this.userLoginNameMd5;
    }

    public String getUserRealName() {
        return this.userRealName;
    }

    public Long getUserPasswordMd5() {
        return this.userPasswordMd5;
    }

    public Long getUserCreateUserId() {
        return this.userCreateUserId;
    }

    public Long getUserCreateTime() {
        return this.userCreateTime;
    }

    public Integer getUserSex() {
        return this.userSex;
    }

    public Integer getUserType() {
        return this.userType;
    }

    public String getUserMail() {
        return this.userMail;
    }

    public String getUserCellphone() {
        return this.userCellphone;
    }

    public Integer getUserState() {
        return this.userState;
    }

    public Long getUserLoginTime() {
        return this.userLoginTime;
    }

    public Long getUserSchool() {
        return this.userSchool;
    }

    public String getUserCollege() {
        return this.userCollege;
    }

    public String getUserProfessional() {
        return this.userProfessional;
    }

    public String getUserDuty() {
        return this.userDuty;
    }

    public String getOpenId() {
        return this.openId;
    }

    public String getUserHeaderImg() {
        return this.userHeaderImg;
    }

    public Long getClassId() {
        return this.classId;
    }

    public Long getImportId() {
        return this.importId;
    }

    public String getToken() {
        return this.token;
    }

    public String getUrlPath() {
        return this.urlPath;
    }

    public String getPassword() {
        return this.password;
    }

    public String getExpertClassName() {
        return this.expertClassName;
    }

    public Integer getRecordWidth() {
        return this.recordWidth;
    }

    public Integer getRecordHeight() {
        return this.recordHeight;
    }

    public Integer getRecordBitRate() {
        return this.recordBitRate;
    }

    public Integer getUserExamState() {
        return this.userExamState;
    }

    public User setId(Long id) {
        this.id = id;
        return this;
    }

    public User setUserLoginName(String userLoginName) {
        this.userLoginName = userLoginName;
        return this;
    }

    public User setUserLoginNameMd5(Long userLoginNameMd5) {
        this.userLoginNameMd5 = userLoginNameMd5;
        return this;
    }

    public User setUserRealName(String userRealName) {
        this.userRealName = userRealName;
        return this;
    }

    public User setUserPasswordMd5(Long userPasswordMd5) {
        this.userPasswordMd5 = userPasswordMd5;
        return this;
    }

    public User setUserCreateUserId(Long userCreateUserId) {
        this.userCreateUserId = userCreateUserId;
        return this;
    }

    public User setUserCreateTime(Long userCreateTime) {
        this.userCreateTime = userCreateTime;
        return this;
    }

    public User setUserSex(Integer userSex) {
        this.userSex = userSex;
        return this;
    }

    public User setUserType(Integer userType) {
        this.userType = userType;
        return this;
    }

    public User setUserMail(String userMail) {
        this.userMail = userMail;
        return this;
    }

    public User setUserCellphone(String userCellphone) {
        this.userCellphone = userCellphone;
        return this;
    }

    public User setUserState(Integer userState) {
        this.userState = userState;
        return this;
    }

    public User setUserLoginTime(Long userLoginTime) {
        this.userLoginTime = userLoginTime;
        return this;
    }

    public User setUserSchool(Long userSchool) {
        this.userSchool = userSchool;
        return this;
    }

    public User setUserCollege(String userCollege) {
        this.userCollege = userCollege;
        return this;
    }

    public User setUserProfessional(String userProfessional) {
        this.userProfessional = userProfessional;
        return this;
    }

    public User setUserDuty(String userDuty) {
        this.userDuty = userDuty;
        return this;
    }

    public User setOpenId(String openId) {
        this.openId = openId;
        return this;
    }

    public User setUserHeaderImg(String userHeaderImg) {
        this.userHeaderImg = userHeaderImg;
        return this;
    }

    public User setClassId(Long classId) {
        this.classId = classId;
        return this;
    }

    public User setImportId(Long importId) {
        this.importId = importId;
        return this;
    }

    public User setToken(String token) {
        this.token = token;
        return this;
    }

    public User setUrlPath(String urlPath) {
        this.urlPath = urlPath;
        return this;
    }

    public User setPassword(String password) {
        this.password = password;
        return this;
    }

    public User setExpertClassName(String expertClassName) {
        this.expertClassName = expertClassName;
        return this;
    }

    public User setRecordWidth(Integer recordWidth) {
        this.recordWidth = recordWidth;
        return this;
    }

    public User setRecordHeight(Integer recordHeight) {
        this.recordHeight = recordHeight;
        return this;
    }

    public User setRecordBitRate(Integer recordBitRate) {
        this.recordBitRate = recordBitRate;
        return this;
    }

    public User setUserExamState(Integer userExamState) {
        this.userExamState = userExamState;
        return this;
    }

    public String toString() {
        return "User(id=" + this.getId() + ", userLoginName=" + this.getUserLoginName() + ", userLoginNameMd5=" + this.getUserLoginNameMd5() + ", userRealName=" + this.getUserRealName() + ", userPasswordMd5=" + this.getUserPasswordMd5() + ", userCreateUserId=" + this.getUserCreateUserId() + ", userCreateTime=" + this.getUserCreateTime() + ", userSex=" + this.getUserSex() + ", userType=" + this.getUserType() + ", userMail=" + this.getUserMail() + ", userCellphone=" + this.getUserCellphone() + ", userState=" + this.getUserState() + ", userLoginTime=" + this.getUserLoginTime() + ", userSchool=" + this.getUserSchool() + ", userCollege=" + this.getUserCollege() + ", userProfessional=" + this.getUserProfessional() + ", userDuty=" + this.getUserDuty() + ", openId=" + this.getOpenId() + ", userHeaderImg=" + this.getUserHeaderImg() + ", classId=" + this.getClassId() + ", importId=" + this.getImportId() + ", token=" + this.getToken() + ", urlPath=" + this.getUrlPath() + ", password=" + this.getPassword() + ", expertClassName=" + this.getExpertClassName() + ", recordWidth=" + this.getRecordWidth() + ", recordHeight=" + this.getRecordHeight() + ", recordBitRate=" + this.getRecordBitRate() + ", userExamState=" + this.getUserExamState() + ")";
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof User)) {
            return false;
        } else {
            User other = (User)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label359: {
                    Object this$id = this.getId();
                    Object other$id = other.getId();
                    if (this$id == null) {
                        if (other$id == null) {
                            break label359;
                        }
                    } else if (this$id.equals(other$id)) {
                        break label359;
                    }

                    return false;
                }

                Object this$userLoginName = this.getUserLoginName();
                Object other$userLoginName = other.getUserLoginName();
                if (this$userLoginName == null) {
                    if (other$userLoginName != null) {
                        return false;
                    }
                } else if (!this$userLoginName.equals(other$userLoginName)) {
                    return false;
                }

                label345: {
                    Object this$userLoginNameMd5 = this.getUserLoginNameMd5();
                    Object other$userLoginNameMd5 = other.getUserLoginNameMd5();
                    if (this$userLoginNameMd5 == null) {
                        if (other$userLoginNameMd5 == null) {
                            break label345;
                        }
                    } else if (this$userLoginNameMd5.equals(other$userLoginNameMd5)) {
                        break label345;
                    }

                    return false;
                }

                Object this$userRealName = this.getUserRealName();
                Object other$userRealName = other.getUserRealName();
                if (this$userRealName == null) {
                    if (other$userRealName != null) {
                        return false;
                    }
                } else if (!this$userRealName.equals(other$userRealName)) {
                    return false;
                }

                label331: {
                    Object this$userPasswordMd5 = this.getUserPasswordMd5();
                    Object other$userPasswordMd5 = other.getUserPasswordMd5();
                    if (this$userPasswordMd5 == null) {
                        if (other$userPasswordMd5 == null) {
                            break label331;
                        }
                    } else if (this$userPasswordMd5.equals(other$userPasswordMd5)) {
                        break label331;
                    }

                    return false;
                }

                Object this$userCreateUserId = this.getUserCreateUserId();
                Object other$userCreateUserId = other.getUserCreateUserId();
                if (this$userCreateUserId == null) {
                    if (other$userCreateUserId != null) {
                        return false;
                    }
                } else if (!this$userCreateUserId.equals(other$userCreateUserId)) {
                    return false;
                }

                label317: {
                    Object this$userCreateTime = this.getUserCreateTime();
                    Object other$userCreateTime = other.getUserCreateTime();
                    if (this$userCreateTime == null) {
                        if (other$userCreateTime == null) {
                            break label317;
                        }
                    } else if (this$userCreateTime.equals(other$userCreateTime)) {
                        break label317;
                    }

                    return false;
                }

                label310: {
                    Object this$userSex = this.getUserSex();
                    Object other$userSex = other.getUserSex();
                    if (this$userSex == null) {
                        if (other$userSex == null) {
                            break label310;
                        }
                    } else if (this$userSex.equals(other$userSex)) {
                        break label310;
                    }

                    return false;
                }

                Object this$userType = this.getUserType();
                Object other$userType = other.getUserType();
                if (this$userType == null) {
                    if (other$userType != null) {
                        return false;
                    }
                } else if (!this$userType.equals(other$userType)) {
                    return false;
                }

                label296: {
                    Object this$userMail = this.getUserMail();
                    Object other$userMail = other.getUserMail();
                    if (this$userMail == null) {
                        if (other$userMail == null) {
                            break label296;
                        }
                    } else if (this$userMail.equals(other$userMail)) {
                        break label296;
                    }

                    return false;
                }

                label289: {
                    Object this$userCellphone = this.getUserCellphone();
                    Object other$userCellphone = other.getUserCellphone();
                    if (this$userCellphone == null) {
                        if (other$userCellphone == null) {
                            break label289;
                        }
                    } else if (this$userCellphone.equals(other$userCellphone)) {
                        break label289;
                    }

                    return false;
                }

                Object this$userState = this.getUserState();
                Object other$userState = other.getUserState();
                if (this$userState == null) {
                    if (other$userState != null) {
                        return false;
                    }
                } else if (!this$userState.equals(other$userState)) {
                    return false;
                }

                Object this$userLoginTime = this.getUserLoginTime();
                Object other$userLoginTime = other.getUserLoginTime();
                if (this$userLoginTime == null) {
                    if (other$userLoginTime != null) {
                        return false;
                    }
                } else if (!this$userLoginTime.equals(other$userLoginTime)) {
                    return false;
                }

                label268: {
                    Object this$userSchool = this.getUserSchool();
                    Object other$userSchool = other.getUserSchool();
                    if (this$userSchool == null) {
                        if (other$userSchool == null) {
                            break label268;
                        }
                    } else if (this$userSchool.equals(other$userSchool)) {
                        break label268;
                    }

                    return false;
                }

                Object this$userCollege = this.getUserCollege();
                Object other$userCollege = other.getUserCollege();
                if (this$userCollege == null) {
                    if (other$userCollege != null) {
                        return false;
                    }
                } else if (!this$userCollege.equals(other$userCollege)) {
                    return false;
                }

                Object this$userProfessional = this.getUserProfessional();
                Object other$userProfessional = other.getUserProfessional();
                if (this$userProfessional == null) {
                    if (other$userProfessional != null) {
                        return false;
                    }
                } else if (!this$userProfessional.equals(other$userProfessional)) {
                    return false;
                }

                label247: {
                    Object this$userDuty = this.getUserDuty();
                    Object other$userDuty = other.getUserDuty();
                    if (this$userDuty == null) {
                        if (other$userDuty == null) {
                            break label247;
                        }
                    } else if (this$userDuty.equals(other$userDuty)) {
                        break label247;
                    }

                    return false;
                }

                Object this$openId = this.getOpenId();
                Object other$openId = other.getOpenId();
                if (this$openId == null) {
                    if (other$openId != null) {
                        return false;
                    }
                } else if (!this$openId.equals(other$openId)) {
                    return false;
                }

                label233: {
                    Object this$userHeaderImg = this.getUserHeaderImg();
                    Object other$userHeaderImg = other.getUserHeaderImg();
                    if (this$userHeaderImg == null) {
                        if (other$userHeaderImg == null) {
                            break label233;
                        }
                    } else if (this$userHeaderImg.equals(other$userHeaderImg)) {
                        break label233;
                    }

                    return false;
                }

                Object this$classId = this.getClassId();
                Object other$classId = other.getClassId();
                if (this$classId == null) {
                    if (other$classId != null) {
                        return false;
                    }
                } else if (!this$classId.equals(other$classId)) {
                    return false;
                }

                label219: {
                    Object this$importId = this.getImportId();
                    Object other$importId = other.getImportId();
                    if (this$importId == null) {
                        if (other$importId == null) {
                            break label219;
                        }
                    } else if (this$importId.equals(other$importId)) {
                        break label219;
                    }

                    return false;
                }

                Object this$token = this.getToken();
                Object other$token = other.getToken();
                if (this$token == null) {
                    if (other$token != null) {
                        return false;
                    }
                } else if (!this$token.equals(other$token)) {
                    return false;
                }

                label205: {
                    Object this$urlPath = this.getUrlPath();
                    Object other$urlPath = other.getUrlPath();
                    if (this$urlPath == null) {
                        if (other$urlPath == null) {
                            break label205;
                        }
                    } else if (this$urlPath.equals(other$urlPath)) {
                        break label205;
                    }

                    return false;
                }

                label198: {
                    Object this$password = this.getPassword();
                    Object other$password = other.getPassword();
                    if (this$password == null) {
                        if (other$password == null) {
                            break label198;
                        }
                    } else if (this$password.equals(other$password)) {
                        break label198;
                    }

                    return false;
                }

                Object this$expertClassName = this.getExpertClassName();
                Object other$expertClassName = other.getExpertClassName();
                if (this$expertClassName == null) {
                    if (other$expertClassName != null) {
                        return false;
                    }
                } else if (!this$expertClassName.equals(other$expertClassName)) {
                    return false;
                }

                label184: {
                    Object this$recordWidth = this.getRecordWidth();
                    Object other$recordWidth = other.getRecordWidth();
                    if (this$recordWidth == null) {
                        if (other$recordWidth == null) {
                            break label184;
                        }
                    } else if (this$recordWidth.equals(other$recordWidth)) {
                        break label184;
                    }

                    return false;
                }

                label177: {
                    Object this$recordHeight = this.getRecordHeight();
                    Object other$recordHeight = other.getRecordHeight();
                    if (this$recordHeight == null) {
                        if (other$recordHeight == null) {
                            break label177;
                        }
                    } else if (this$recordHeight.equals(other$recordHeight)) {
                        break label177;
                    }

                    return false;
                }

                Object this$recordBitRate = this.getRecordBitRate();
                Object other$recordBitRate = other.getRecordBitRate();
                if (this$recordBitRate == null) {
                    if (other$recordBitRate != null) {
                        return false;
                    }
                } else if (!this$recordBitRate.equals(other$recordBitRate)) {
                    return false;
                }

                Object this$userExamState = this.getUserExamState();
                Object other$userExamState = other.getUserExamState();
                if (this$userExamState == null) {
                    if (other$userExamState != null) {
                        return false;
                    }
                } else if (!this$userExamState.equals(other$userExamState)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof User;
    }

    public int hashCode() {
        boolean PRIME = true;
        byte result = 1;
        Long $id = this.getId();
        int result1 = result * 59 + ($id == null?43:$id.hashCode());
        String $userLoginName = this.getUserLoginName();
        result1 = result1 * 59 + ($userLoginName == null?43:$userLoginName.hashCode());
        Long $userLoginNameMd5 = this.getUserLoginNameMd5();
        result1 = result1 * 59 + ($userLoginNameMd5 == null?43:$userLoginNameMd5.hashCode());
        String $userRealName = this.getUserRealName();
        result1 = result1 * 59 + ($userRealName == null?43:$userRealName.hashCode());
        Long $userPasswordMd5 = this.getUserPasswordMd5();
        result1 = result1 * 59 + ($userPasswordMd5 == null?43:$userPasswordMd5.hashCode());
        Long $userCreateUserId = this.getUserCreateUserId();
        result1 = result1 * 59 + ($userCreateUserId == null?43:$userCreateUserId.hashCode());
        Long $userCreateTime = this.getUserCreateTime();
        result1 = result1 * 59 + ($userCreateTime == null?43:$userCreateTime.hashCode());
        Integer $userSex = this.getUserSex();
        result1 = result1 * 59 + ($userSex == null?43:$userSex.hashCode());
        Integer $userType = this.getUserType();
        result1 = result1 * 59 + ($userType == null?43:$userType.hashCode());
        String $userMail = this.getUserMail();
        result1 = result1 * 59 + ($userMail == null?43:$userMail.hashCode());
        String $userCellphone = this.getUserCellphone();
        result1 = result1 * 59 + ($userCellphone == null?43:$userCellphone.hashCode());
        Integer $userState = this.getUserState();
        result1 = result1 * 59 + ($userState == null?43:$userState.hashCode());
        Long $userLoginTime = this.getUserLoginTime();
        result1 = result1 * 59 + ($userLoginTime == null?43:$userLoginTime.hashCode());
        Long $userSchool = this.getUserSchool();
        result1 = result1 * 59 + ($userSchool == null?43:$userSchool.hashCode());
        String $userCollege = this.getUserCollege();
        result1 = result1 * 59 + ($userCollege == null?43:$userCollege.hashCode());
        String $userProfessional = this.getUserProfessional();
        result1 = result1 * 59 + ($userProfessional == null?43:$userProfessional.hashCode());
        String $userDuty = this.getUserDuty();
        result1 = result1 * 59 + ($userDuty == null?43:$userDuty.hashCode());
        String $openId = this.getOpenId();
        result1 = result1 * 59 + ($openId == null?43:$openId.hashCode());
        String $userHeaderImg = this.getUserHeaderImg();
        result1 = result1 * 59 + ($userHeaderImg == null?43:$userHeaderImg.hashCode());
        Long $classId = this.getClassId();
        result1 = result1 * 59 + ($classId == null?43:$classId.hashCode());
        Long $importId = this.getImportId();
        result1 = result1 * 59 + ($importId == null?43:$importId.hashCode());
        String $token = this.getToken();
        result1 = result1 * 59 + ($token == null?43:$token.hashCode());
        String $urlPath = this.getUrlPath();
        result1 = result1 * 59 + ($urlPath == null?43:$urlPath.hashCode());
        String $password = this.getPassword();
        result1 = result1 * 59 + ($password == null?43:$password.hashCode());
        String $expertClassName = this.getExpertClassName();
        result1 = result1 * 59 + ($expertClassName == null?43:$expertClassName.hashCode());
        Integer $recordWidth = this.getRecordWidth();
        result1 = result1 * 59 + ($recordWidth == null?43:$recordWidth.hashCode());
        Integer $recordHeight = this.getRecordHeight();
        result1 = result1 * 59 + ($recordHeight == null?43:$recordHeight.hashCode());
        Integer $recordBitRate = this.getRecordBitRate();
        result1 = result1 * 59 + ($recordBitRate == null?43:$recordBitRate.hashCode());
        Integer $userExamState = this.getUserExamState();
        result1 = result1 * 59 + ($userExamState == null?43:$userExamState.hashCode());
        return result1;
    }
}